<?php

namespace Siese\EntityBundle\Service;

use Symfony\Component\DependencyInjection\Container;
use Doctrine\ORM\EntityManager;

use Siese\EntityBundle\Entity\MedidasDicEntidadInspeccion;
use Siese\EntityBundle\Entity\RangosEdadesEntidadInspeccion;
use Siese\EntityBundle\Entity\OtrasRazones;
use Siese\EntityBundle\Entity\EtniasEntidadInspeccion;
use Siese\EntityBundle\Entity\DiscapacidadesEntidadInspeccion;
use Siese\EntityBundle\Entity\ProcedenciaPobEntidadInspeccion;
use Siese\EntityBundle\Entity\EspecialidadesEntidadInspeccion;
use Siese\EntityBundle\Entity\PatologiasPresentadasEntidadInspeccion;
use Siese\EntityBundle\Entity\RazonesDecesosPobEntidadInspeccion;
use Siese\EntityBundle\Entity\MisionesSocialesEntidadInspeccion;
use Siese\EntityBundle\Entity\DeportesEntidadInspeccion;
use Siese\EntityBundle\Entity\OrgSumEqsDepEntidadInspeccion;
use Siese\EntityBundle\Entity\ActividadesCulturalesEntidadInspeccion;
use Siese\EntityBundle\Entity\TalleresTrabajoEntidadInspeccion;
use Siese\EntityBundle\Entity\FrecuenciaRemuneracionLabEntidadInspeccion;
use Siese\EntityBundle\Entity\RemuneracionLaboralEntidadInspeccion;
use Siese\EntityBundle\Entity\PreparacionReglamentoEntidadInspeccion;
use Siese\EntityBundle\Entity\OrganismosApoyoEntidadInspeccion;
use Siese\EntityBundle\Entity\TipoApoyoOrgEntidadInspeccion;
use Siese\EntityBundle\Entity\TipoElaboracionPlanEntidadInspeccion;
use Siese\EntityBundle\Entity\DepAdmEntidadInspeccion;
use Siese\EntityBundle\Entity\EtapasProgramasEntidadInspeccion;
use Siese\EntityBundle\Entity\UnidadesTransEntidadInspeccion;
use Siese\EntityBundle\Entity\CursosFormacionEntidadInspeccion;
use Siese\EntityBundle\Entity\OrgCursosEntidadInspeccion;
use Siese\EntityBundle\Entity\ActividadesFueraEntidadInspeccion;
use Siese\EntityBundle\Entity\ClasificacionPobEntidadInspeccion;

       
        
         
      

class cargarRelacionesInspecciones {
    
    protected $container;
    protected $entityManager;
    
    public function __construct(EntityManager $entityManager,Container $container) {
      $this->container = $container;
      $this->entityManager = $entityManager;
    }
    
    
    public function crearCodigoInspeccion($entity,$form,$tipoInspeccion,$fechaInspeccion) {
      $em = $this->entityManager;    
        
      if(!$entity->getCodInspeccion()):
        $sede = $form->get('sede')->getData();
           
      
        if($tipoInspeccion == 'MS'): // Si la Inspeccion es Masculina Semiprivada
          $arregloFiltroBusqueda = array('tipoMedida' => 'S',
                                       'tipoInspeccion' => 'M',
                                        'sede' => $sede);        
          $repository = 'SieseEntityBundle:InspeccionesEntidadesPob';
          $ultCodInspeccion = $em->getRepository($repository)->findUltimoCodInsPob($arregloFiltroBusqueda);
        elseif($tipoInspeccion == 'MP'): // Si la Inspeccion es Masculina Privada
          $arregloFiltroBusqueda = array('tipoMedida' => 'P',
                                         'tipoInspeccion' => 'M',
                                         'sede' => $sede);        
          $repository = 'SieseEntityBundle:InspeccionesEntidadesPob';
          $ultCodInspeccion = $em->getRepository($repository)->findUltimoCodInsPob($arregloFiltroBusqueda);
        elseif($tipoInspeccion == 'FP'): // Si la Inspeccion es Femenina Privada
          $arregloFiltroBusqueda = array('tipoMedida' => 'P',
                                         'tipoInspeccion' => 'F',
                                         'sede' => $sede);        
          $repository = 'SieseEntityBundle:InspeccionesEntidadesPob';
          $ultCodInspeccion = $em->getRepository($repository)->findUltimoCodInsPob($arregloFiltroBusqueda); 
        elseif($tipoInspeccion == 'FS'): // Si la Inspeccion es Femenina SemiPrivada
          $arregloFiltroBusqueda = array('tipoMedida' => 'S',
                                         'tipoInspeccion' => 'F',
                                         'sede' => $sede);        
          $repository = 'SieseEntityBundle:InspeccionesEntidadesPob';
          $ultCodInspeccion = $em->getRepository($repository)->findUltimoCodInsPob($arregloFiltroBusqueda);   
        elseif($tipoInspeccion == 'F'): // Si la Inspeccion es Entidad Femenina
          $arregloFiltroBusqueda = array('tipoInspeccion' => 'F',
                                         'sede' => $sede);        
          $repository = 'SieseEntityBundle:InspeccionesEntidades';
          $ultCodInspeccion = $em->getRepository($repository)->findUltimoCodIns($arregloFiltroBusqueda);
        elseif($tipoInspeccion == 'M'): // Si la Inspeccion es Entidad Masculina
          $arregloFiltroBusqueda = array('tipoInspeccion' => 'M',
                                         'sede' => $sede);        
          $repository = 'SieseEntityBundle:InspeccionesEntidades';
          $ultCodInspeccion = $em->getRepository($repository)->findUltimoCodIns($arregloFiltroBusqueda);          
        endif;

            
        
        
        $aiCodIns = ($ultCodInspeccion[1] ? explode('-',$ultCodInspeccion[1]) : array( 3 => 0 ) );
        $nuevoAiCodIns = $aiCodIns[3] + 1;
            
        $nuevoCodIns = $fechaInspeccion->format('y').'-'.$sede->getCodSede().'-'.$tipoInspeccion.'-'.$nuevoAiCodIns;
        $entity->setCodInspeccion($nuevoCodIns);
      endif;
    }
    
    
    protected function cargarRelacionesComunes($form,$entidadInspeccion,$em) {
      
        
      /* Pregunta 15
       * 
       * Si la razon es Otra, se agrega el text otra razon
       * en la Entidad Otras Razones
       */
      $gradoInsDirector = $form->get('gradoInstruccionDirector')->getData();
      if($gradoInsDirector):
        if($gradoInsDirector->getId() == 8):
          $otroGradoInsDir = $form->get('otroGradoInstruccionDirector')->getData();

          if(!isset($otrasRazones)):
            $findRel = $em->getRepository('SieseEntityBundle:OtrasRazones')->find($entidadInspeccion->getId());
            $otrasRazones = ($findRel ? $findRel : new OtrasRazones()); 
            $otrasRazones->setEntidadInspeccion($entidadInspeccion);
          endif;

          $otrasRazones->setOtroGradoInstruccionDirector($otroGradoInsDir);
          $em->persist($otrasRazones);
        endif;      
      endif;      
      /* Pregunta 15 */
      
      
      /* 
       * Pregunta 17
       * 
       * Se buscan los rangos de edades seleccionados por el usuario para guardarlos 
       * en la Base de Datos */
      $pobRangosEdadesSeleccionados = $form->get('pobRangoEdades')->getData(); 
       
      if($pobRangosEdadesSeleccionados):
        foreach($pobRangosEdadesSeleccionados as $row):
        $findRel = $em->getRepository('SieseEntityBundle:RangosEdadesEntidadInspeccion')->findOneBy(array('entidadInspeccionRangosEdades' => $entidadInspeccion,
                                                                                                          'rangosEdadesEntidadInspeccion' => $row));
        $rangosEdadesEI = ($findRel ? $findRel : new RangosEdadesEntidadInspeccion());
          
          
          
        /* De los Rangos seleccionados se genera la cantidad de Poblacion que
         * existe en la entidad por ese Rango
         */
        $cantPob = $form->get('cantPobRE_'.$row->getId())->getData();
        
        $rangosEdadesEI->setRangosEdadesEntidadInspeccion($row);
        $rangosEdadesEI->setEntidadInspeccionRangosEdades($entidadInspeccion);
        $rangosEdadesEI->setCantidadPoblacion($cantPob);
        $em->persist($rangosEdadesEI);
        //$em->flush();
        endforeach;
      endif;    
      /* Pregunta 17 */

      
      /* Pregunta 36
       * 
       * Si la razon es Otra, se agrega el text otra razon
       * en la Entidad Otras Razones
       */
      $razonFaltaEstAntro = $form->get('razonFaltaEstAntro')->getData();
      if($razonFaltaEstAntro):
        if($razonFaltaEstAntro->getId() == 4):
          $otraRazonFaltaEstudioAntropologicoInd = $form->get('otraRazonFaltaEstudioAntropologicoInd')->getData();

          if(!isset($otrasRazones)):
            $findRel = $em->getRepository('SieseEntityBundle:OtrasRazones')->find($entidadInspeccion->getId());
            $otrasRazones = ($findRel ? $findRel : new OtrasRazones()); 
            $otrasRazones->setEntidadInspeccion($entidadInspeccion);
          endif;

          $otrasRazones->setOtraRazonFaltaEstudioAntropologicoInd($otraRazonFaltaEstudioAntropologicoInd);
          $em->persist($otrasRazones);
        endif;      
      endif;      
      /* Pregunta 36 */      
    }
    
    public function cargarRelacionesFormularioEntidadMasculina($form,$entidadInspeccion,$em) {
       $otraRazonNCC = null;
       $otraRazonNADI = null;
       $otraRazonFEAI = null;
       $otraRazonNAI  = null;
       $otraRazonNAPD = null;
       
       $this->cargarRelacionesComunes($form, $entidadInspeccion, $em);

      
      
      
      
      /* Pregunta 29 
       * 
       * Si la razon de no contacto consular es Otra, se agrega el text otra razon
       * en la Entidad Otras Razones
       */
      $razonNoContactoConsular = $form->get('razonesNoContactoConsular')->getData();
      if($razonNoContactoConsular):  
        if($razonNoContactoConsular->getId() == 3):
          $otraRazonNCC = $form->get('otraRazonNoContactoConsular')->getData();

          if(!isset($otrasRazones)):
            $findRel = $em->getRepository('SieseEntityBundle:OtrasRazones')->find($entidadInspeccion->getId());
            $otrasRazones = ($findRel ? $findRel : new OtrasRazones()); 
            $otrasRazones->setEntidadInspeccion($entidadInspeccion);
          endif;

          $otrasRazones->setNoContactoCosular($otraRazonNCC);
          $em->persist($otrasRazones);
          //$em->flush();
        endif;
      endif;
      
      /* 
       * Pregunta 31
       * 
       * Se buscan las pob ind seleccionados por el usuario para guardarlos 
       * en la Base de Datos */
      $pobIndSeleccionadas = $form->get('pobEtniasEntidadIns')->getData(); 
       
      if($pobIndSeleccionadas):
        foreach($pobIndSeleccionadas as $row):
       $findRel = $em->getRepository('SieseEntityBundle:EtniasEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                   'etnia' => $row));
        $etniaEntidadInspeccion = ($findRel ? $findRel : new EtniasEntidadInspeccion());   
          
         
          
        $cantPobProc = $form->get('cantPobIndProcesados_'.$row->getId())->getData();
        $cantPobSanc = $form->get('cantPobIndSancionados_'.$row->getId())->getData();
        
        $etniaEntidadInspeccion->setEtnia($row);
        $etniaEntidadInspeccion->setEntidadInspeccion($entidadInspeccion);
        $etniaEntidadInspeccion->setCantPobProcesada($cantPobProc);
        $etniaEntidadInspeccion->setCantPobSancionada($cantPobSanc);
        $em->persist($etniaEntidadInspeccion);
        //$em->flush();
        endforeach;
      endif;
      
      /* Pregunta 34 
       * 
       * Si la razon es Otra, se agrega el text otra razon
       * en la Entidad Otras Razones
       */
      $razonNoAsisDpInd = $form->get('razonNoAsisDpInd')->getData();
      if($razonNoAsisDpInd):
        if($razonNoAsisDpInd->getId() == 2):
          $otraRazonNADI = $form->get('otraRazonNoAsisDpInd')->getData();

          if(!isset($otrasRazones)):
            $findRel = $em->getRepository('SieseEntityBundle:OtrasRazones')->find($entidadInspeccion->getId());
            $otrasRazones = ($findRel ? $findRel : new OtrasRazones()); 
            $otrasRazones->setEntidadInspeccion($entidadInspeccion);
          endif;

          $otrasRazones->setPobIndigenaNoAsisDpPublica($otraRazonNADI);
          $em->persist($otrasRazones);
          //$em->flush();
        endif;      
      endif;
      
      /* Pregunta 36
       *
       */
      $razonFaltaEstAntro = $form->get('razonFaltaEstAntro')->getData();
      
      if($razonFaltaEstAntro):
        if($razonFaltaEstAntro->getId() == 4):
          $otraRazonFEAI = $form->get('otraRazonFaltaEstudioAntropologicoInd')->getData();
        
          
          
          
          if(!isset($otrasRazones)):
           $findRel = $em->getRepository('SieseEntityBundle:OtrasRazones')->find($entidadInspeccion->getId());
            $otrasRazones = ($findRel ? $findRel : new OtrasRazones()); 
            $otrasRazones->setEntidadInspeccion($entidadInspeccion);
          endif;

          $otrasRazones->setNoRealizadoEstudioAntropologico($otraRazonFEAI);
          $em->persist($otrasRazones);
        endif;      
      endif; 
      
      /* 
       * Pregunta 40
       * 
       * Se buscan las pob disc seleccionados por el usuario para guardarlos 
       * en la Base de Datos 
       */
      $discEntIns = $form->get('discapacidadesEntidadInspeccion')->getData(); 
       
     
      if($discEntIns):
      foreach($discEntIns as $row):
         $findRel = $em->getRepository('SieseEntityBundle:DiscapacidadesEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'discapacidad' => $row));
        $discapacidadesEntidadInspeccion = ($findRel ? $findRel : new DiscapacidadesEntidadInspeccion());     
          
       
          
        $cantPobProc = $form->get('cantDiscProcesados_'.$row->getId())->getData();
        $cantPobSanc = $form->get('cantDiscSancionados_'.$row->getId())->getData();
        
        $discapacidadesEntidadInspeccion->setDiscapacidad($row);
        $discapacidadesEntidadInspeccion->setEntidadInspeccion($entidadInspeccion);
        $discapacidadesEntidadInspeccion->setCantPobProcesada($cantPobProc);
        $discapacidadesEntidadInspeccion->setCantPobSancionada($cantPobSanc);
        $em->persist($discapacidadesEntidadInspeccion);
      endforeach;      
      endif;
      
      /* 
       * Otra Razon Pregunta 42
       *
       */
      $razonNoAdapIns = $form->get('razonesNoAdaptacionInstalaciones')->getData();
      
      if($razonNoAdapIns):
        if($razonNoAdapIns->getId() == 4):
          $otraRazonNAI = $form->get('otrasRazonesNoAdaptacionInstalaciones')->getData();
        
          if(!isset($otrasRazones)):
          $findRel = $em->getRepository('SieseEntityBundle:OtrasRazones')->find($entidadInspeccion->getId());
            $otrasRazones = ($findRel ? $findRel : new OtrasRazones()); 
            $otrasRazones->setEntidadInspeccion($entidadInspeccion);
          endif;

          $otrasRazones->setNoAdaptacionIns($otraRazonNAI);
          $em->persist($otrasRazones);
        endif;      
      endif;
      
      /* 
       * Otra Razon Pregunta 44
       *
       */
      $razonNoAtenPobDisc = $form->get('razonesNoAtencionPobDiscapacidad')->getData();
      
      if($razonNoAtenPobDisc):
        if($razonNoAtenPobDisc->getId() == 4):
          $otraRazonNAPD = $form->get('otraRazonNoAtencionPobDisc')->getData();
        
          if(!isset($otrasRazones)):
          $findRel = $em->getRepository('SieseEntityBundle:OtrasRazones')->find($entidadInspeccion->getId());
            $otrasRazones = ($findRel ? $findRel : new OtrasRazones()); 
            $otrasRazones->setEntidadInspeccion($entidadInspeccion);
          endif;

          $otrasRazones->setNoAtencionPobDisc($otraRazonNAPD);
          $em->persist($otrasRazones);
        endif;      
      endif;      
      
      
      /* 
       * Pregunta 47
       * 
       */
      $procDetencionPob = $form->get('procDetencionPob')->getData(); 
       
      if($procDetencionPob):
      foreach($procDetencionPob as $row):
       
       $findRel = $em->getRepository('SieseEntityBundle:ProcedenciaPobEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'procedenciaPob' => $row));
        $procPobEIns = ($findRel ? $findRel : new ProcedenciaPobEntidadInspeccion());     
        $cantPob = $form->get('cantPob_'.$row->getId())->getData();
        
        $procPobEIns->setProcedenciaPob($row);
        $procPobEIns->setEntidadInspeccion($entidadInspeccion);
        $procPobEIns->setCantidadPoblacion($cantPob);

        if($row->getId() == 8):
          $procPobEIns->setOtrasProc($form->get('otraProcPob')->getData());    
        endif;
        
        $em->persist($procPobEIns);
      endforeach;  
      endif;
      
      /* 
       * Pregunta 63
       * 
       */
      $especialidadesMedicas = $form->get('especialidadesMedicas')->getData(); 
       
      if($especialidadesMedicas):
      foreach($especialidadesMedicas as $row):
        $findRel = $em->getRepository('SieseEntityBundle:EspecialidadesEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'especialidad' => $row));
        $espMedEI = ($findRel ? $findRel : new EspecialidadesEntidadInspeccion());      
          
        
          
        $cantEsp = $form->get('cantEsp_'.$row->getId())->getData();
        
        $espMedEI->setEspecialidad($row);
        $espMedEI->setEntidadInspeccion($entidadInspeccion);
        $espMedEI->setCantEspecialistas($cantEsp);

        
        $em->persist($espMedEI);
      endforeach;
      endif;
      
      /* 
       * Pregunta 64
       * 
       */
      $problemasSaludPob = $form->get('problemasSaludPob')->getData(); 
       
      if($problemasSaludPob):
      foreach($problemasSaludPob as $row):
       $findRel = $em->getRepository('SieseEntityBundle:PatologiasPresentadasEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'patologia' => $row));
        $patPreEI = ($findRel ? $findRel : new PatologiasPresentadasEntidadInspeccion());     
          
    
        $medRec = $form->get('medRec_'.$row->getId())->getData();
        
        $recibioMedicamentos = ($medRec == 1 ? true : false);
       
        $patPreEI->setPatologia($row);
        $patPreEI->setEntidadInspeccion($entidadInspeccion);
        $patPreEI->setRecibioMedicamentos($recibioMedicamentos);


        $em->persist($patPreEI);
      endforeach;
      endif;
      
      /* 
       * Pregunta 66
       * 
       */
      $razonesDecesosPob = $form->get('razonesDecesosPob')->getData(); 
       
      if($razonesDecesosPob):
      foreach($razonesDecesosPob as $row):
        $findRel = $em->getRepository('SieseEntityBundle:RazonesDecesosPobEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'razonDeceso' => $row));
        $razDecPob = ($findRel ? $findRel : new RazonesDecesosPobEntidadInspeccion());    
          
       
          
        $razDecPob->setRazonDeceso($row);
        $razDecPob->setEntidadInspeccion($entidadInspeccion);
        

        $em->persist($razDecPob);
      endforeach;      
      endif;
      
      /* 
       * Pregunta 79
       * 
       */
      $misionesSocEntidad = $form->get('misionesSocEntidad')->getData(); 
       
      if($misionesSocEntidad):
      foreach($misionesSocEntidad as $row):
          
        $findRel = $em->getRepository('SieseEntityBundle:MisionesSocialesEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'misionSocial' => $row));
        $misSocEI = ($findRel ? $findRel : new MisionesSocialesEntidadInspeccion());    
       
          
        $misSocEI->setMisionSocial($row);
        $misSocEI->setEntidadInspeccion($entidadInspeccion);
        

        $em->persist($misSocEI);
      endforeach;         
      endif;
      
      /* 
       * Pregunta 83
       * 
       */
      $actDepEntidad = $form->get('actDepEntidad')->getData(); 
       
      if($actDepEntidad):
      foreach($actDepEntidad as $row):
          
         $findRel = $em->getRepository('SieseEntityBundle:DeportesEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'deporte' => $row));
        $depEI = ($findRel ? $findRel : new DeportesEntidadInspeccion());      
          
       
          
        $cantPart = $form->get('cantPart_'.$row->getId())->getData();
        
        $depEI->setDeporte($row);
        $depEI->setEntidadInspeccion($entidadInspeccion);
        $depEI->setCantParticipantes($cantPart);

        
        $em->persist($depEI);
      endforeach;     
      endif;
      
      /* 
       * Pregunta 85
       * 
       */
      $insumosDepEntidad = $form->get('insumosDepEntidad')->getData(); 
       
      if($insumosDepEntidad):
      foreach($insumosDepEntidad as $row):
          
              
         $findRel = $em->getRepository('SieseEntityBundle:OrgSumEqsDepEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'orgSuministradorEquiposDep' => $row));
        $orgSumEqEI = ($findRel ? $findRel : new OrgSumEqsDepEntidadInspeccion());   
        
          
        
        $orgSumEqEI->setOrgSuministradorEquiposDep($row);
        $orgSumEqEI->setEntidadInspeccion($entidadInspeccion);
        
        
        $em->persist($orgSumEqEI);
      endforeach; 
      endif;
      
      /* 
       * Pregunta 90
       * 
       */
      $actCulEntidad = $form->get('actCulEntidad')->getData(); 
       
      if($actCulEntidad):
      foreach($actCulEntidad as $row):
          $findRel = $em->getRepository('SieseEntityBundle:ActividadesCulturalesEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'actividadCultural' => $row));
        $actCulEI = ($findRel ? $findRel : new ActividadesCulturalesEntidadInspeccion());    
          
        
          
        $cantPart = $form->get('cantPartCul_'.$row->getId())->getData();
        
        $actCulEI->setActividadCultural($row);
        $actCulEI->setEntidadInspeccion($entidadInspeccion);
        $actCulEI->setCantParticipantes($cantPart);
        
        $em->persist($actCulEI);
      endforeach;       
      endif;
      
      /* 
       * Pregunta 95
       * 
       */
      $talleresEntidad = $form->get('talleresEntidad')->getData(); 
      
      if($talleresEntidad):
      foreach($talleresEntidad as $row):
           $findRel = $em->getRepository('SieseEntityBundle:TalleresTrabajoEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'taller' => $row));
        $tallTrabEI = ($findRel ? $findRel : new TalleresTrabajoEntidadInspeccion());   
      
          
        $cantPart = $form->get('cantPartTalleres_'.$row->getId())->getData();
        
        $tallTrabEI->setTaller($row);
        $tallTrabEI->setEntidadInspeccion($entidadInspeccion);
        $tallTrabEI->setCantParticipantes($cantPart);
        
        $em->persist($tallTrabEI);
      endforeach;
      endif;
      
      /* 
       * Pregunta 100
       * 
       */
      $fRemuneracionLab = $form->get('fRemuneracionLab')->getData(); 
       
      if($fRemuneracionLab):
      foreach($fRemuneracionLab as $row):
        $findRel = $em->getRepository('SieseEntityBundle:FrecuenciaRemuneracionLabEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'frecuenciaRemuneracionLaboral' => $row));
        $fRLabEI = ($findRel ? $findRel : new FrecuenciaRemuneracionLabEntidadInspeccion());   
      
       
          
        $fRLabEI->setFrecuenciaRemuneracionLaboral($row);
        $fRLabEI->setEntidadInspeccion($entidadInspeccion);
        
        $em->persist($fRLabEI);
      endforeach;
      endif;
      
      /* 
       * Pregunta 101
       * 
       */
      $remuneracionLab = $form->get('remuneracionLab')->getData(); 
       
      if($remuneracionLab):
      foreach($remuneracionLab as $row):
        $findRel = $em->getRepository('SieseEntityBundle:RemuneracionLaboralEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'remuneracionLaboral' => $row));
        $rLabEI = ($findRel ? $findRel : new RemuneracionLaboralEntidadInspeccion());  
       
        $rLabEI->setRemuneracionLaboral($row);
        $rLabEI->setEntidadInspeccion($entidadInspeccion);
        
        $em->persist($rLabEI);
      endforeach;      
      endif;
      
      /* Pregunta 106 */
      $criterioClasfPob = $form->get('criterioClasfPob')->getData(); 
      
      if($criterioClasfPob):
      foreach($criterioClasfPob as $row):
        $findRel = $em->getRepository('SieseEntityBundle:ClasificacionPobEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'clasificacionPob' => $row));
        $cCLasfPob = ($findRel ? $findRel : new ClasificacionPobEntidadInspeccion());  
       
        $cCLasfPob->setClasificacionPob($row);
        $cCLasfPob->setEntidadInspeccion($entidadInspeccion);
        
        $em->persist($cCLasfPob);          
      endforeach;
      endif;
      /* Pregunta 106 */
      
      
      /* 
       * Pregunta 117
       * 
       */
      $reglamento = $form->get('reglamento')->getData(); 
       
      if($reglamento):
      foreach($reglamento as $row):
        $findRel = $em->getRepository('SieseEntityBundle:PreparacionReglamentoEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'organismoPrepReglamento' => $row));
        $preRegEI = ($findRel ? $findRel : new PreparacionReglamentoEntidadInspeccion());  
        
          
        $preRegEI->setOrganismoPrepReglamento($row);
        $preRegEI->setEntidadInspeccion($entidadInspeccion);
        
        
      /* 
       * Otro Reglamento Pregunta 117
       *
       */
        if($row->getId() == 6):
          $otroOrganismo = $form->get('otroOrganismo')->getData();
        
          $preRegEI->setOtroOrganismo($otroOrganismo);
        endif;
        
        
        $em->persist($preRegEI);
      endforeach;        
      endif;
      
      /* 
       * Pregunta 127
       * 
       */
      $planIndividual = $form->get('planIndividual')->getData(); 
       
      if($planIndividual):
      foreach($planIndividual as $row):
          $findRel = $em->getRepository('SieseEntityBundle:TipoElaboracionPlanEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'tipoElaboracionPlan' => $row));
        $tipoElabPlanEI = ($findRel ? $findRel : new TipoElaboracionPlanEntidadInspeccion());  
       
          
        $tipoElabPlanEI->setTipoElaboracionPlan($row);
        $tipoElabPlanEI->setEntidadInspeccion($entidadInspeccion);
               
        
      /* 
       * Otro Pregunta 127
       */
        if($row->getId() == 5):
          $otro = $form->get('otroPlanIndividual')->getData();
        
          $tipoElabPlanEI->setOtroTipoElaboracion($otro);
        endif;
        
        $em->persist($tipoElabPlanEI);
      endforeach;
      endif;
      
      /* 
       * Pregunta 133
       * 
       */
      $depAdmEntidad = $form->get('depAdmEntidad')->getData(); 
       
      if($depAdmEntidad):
      foreach($depAdmEntidad as $row):
         $findRel = $em->getRepository('SieseEntityBundle:DepAdmEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'depAdministrativa' => $row));
        $depAdmEI = ($findRel ? $findRel : new DepAdmEntidadInspeccion());  
        
          
       
          
        $depAdmEI->setDepAdministrativa($row);
        $depAdmEI->setEntidadInspeccion($entidadInspeccion);
      
        
      /* 
       * Otro Pregunta 133
       */
        if($row->getId() == 4):
          $otro = $form->get('otraDepAdm')->getData();
        
          $depAdmEI->setOtraDependencia($otro);
        endif;
        
        $em->persist($depAdmEI);
      endforeach;
      endif;
      
      
      /* 
       * Otra Razon Pregunta 135
       *
       */
      $contraloriaPresupuestor = $form->get('contraloriaPresupuesto')->getData();
      
      if($contraloriaPresupuestor):
        if($contraloriaPresupuestor->getId() == 5):
          $otroContralor = $form->get('otroContralor')->getData();
        
          if(!isset($otrasRazones)):
           $findRel = $em->getRepository('SieseEntityBundle:OtrasRazones')->find($entidadInspeccion->getId());
            $otrasRazones = ($findRel ? $findRel : new OtrasRazones()); 
            $otrasRazones->setEntidadInspeccion($entidadInspeccion);
          endif;

          $otrasRazones->setOtroContralor($otroContralor);
          $em->persist($otrasRazones);
        endif;      
      endif;
      
      
      
      /* 
       * Pregunta 137
       * 
       */
      $apoyoEntidad = $form->get('apoyoEntidad')->getData(); 
       
      if($apoyoEntidad):
      foreach($apoyoEntidad as $row):
            $findRel = $em->getRepository('SieseEntityBundle:OrganismosApoyoEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'organismoApoyo' => $row));
        $orgApEI = ($findRel ? $findRel : new OrganismosApoyoEntidadInspeccion());   
        
          
        $orgApEI->setOrganismoApoyo($row);
        $orgApEI->setEntidadInspeccion($entidadInspeccion);
        
      /* 
       * Otro Pregunta 137
       */
        if($row->getId() == 6):
          $otro = $form->get('otroOrgApoyoEI')->getData();
        
          $orgApEI->setOtroOrganismo($otro);
        endif;
        
        
        $em->persist($orgApEI);
      endforeach;  
      endif;
      
      /* 
       * Pregunta 138
       * 
       */
      $tipoApoyoEntidad = $form->get('tipoApoyoOrganismo')->getData(); 
       
      if($tipoApoyoEntidad):
      foreach($tipoApoyoEntidad as $row):
        $findRel = $em->getRepository('SieseEntityBundle:TipoApoyoOrgEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'tipoApoyo' => $row));
        $tipoOrgApEI = ($findRel ? $findRel : new TipoApoyoOrgEntidadInspeccion());   
        
          
        $tipoOrgApEI->setTipoApoyo($row);
        $tipoOrgApEI->setEntidadInspeccion($entidadInspeccion);
               
      /* 
       * Otro Pregunta 138
       */
        if($row->getId() == 8):
          $otro = $form->get('otroTipoApoyoEI')->getData();
        
          $tipoOrgApEI->setOtroTipoApoyo($otro);
        endif;
        
        $em->persist($tipoOrgApEI);
      endforeach;        
      endif;  
      
      /* 
       * Pregunta 146
       * 
       */
      $etapasPrograma = $form->get('etapasPrograma')->getData(); 
       
      if($etapasPrograma):
      foreach($etapasPrograma as $row):
               $findRel = $em->getRepository('SieseEntityBundle:EtapasProgramasEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'etapaPrograma' => $row));
        $etapasProgEI = ($findRel ? $findRel : new EtapasProgramasEntidadInspeccion());   
        
          
        $etapasProgEI->setEtapaPrograma($row);
        $etapasProgEI->setEntidadInspeccion($entidadInspeccion);
               
      /* 
       * Otro Pregunta 146
       */
        if($row->getId() == 7):
          $otro = $form->get('otraEtapaPrograma')->getData();
        
          $etapasProgEI->setOtraEtapaPrograma($otro);
        endif;
        
        $em->persist($etapasProgEI);
      endforeach;
      endif;
      
      /* 
       * Pregunta 149
       * 
       */
      $unidadesTransEntidad = $form->get('unidadesTransEntidad')->getData(); 
       
      if($unidadesTransEntidad):
      foreach($unidadesTransEntidad as $row):
              $findRel = $em->getRepository('SieseEntityBundle:UnidadesTransEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'unidadTransporte' => $row));
        $uniTransEI = ($findRel ? $findRel : new UnidadesTransEntidadInspeccion());   
        
          
        $cantUniAct = $form->get('cantUniAct_'.$row->getId())->getData();
        $cantUniInact = $form->get('cantUniInact_'.$row->getId())->getData();
        
        $uniTransEI->setUnidadTransporte($row);
        $uniTransEI->setEntidadInspeccion($entidadInspeccion);
        $uniTransEI->setCantActiva($cantUniAct);
        $uniTransEI->setCantInactiva($cantUniInact);
        $em->persist($uniTransEI);
      endforeach;       
      endif;
      
      /* 
       * Pregunta 157
       * 
       */
      $medidasDisciplinarias = $form->get('medidasDisciplinarias')->getData(); 
       
      if($medidasDisciplinarias):
      foreach($medidasDisciplinarias as $row):
                     $findRel = $em->getRepository('SieseEntityBundle:MedidasDicEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'medidaDisciplinaria' => $row));
        $medDiscEI = ($findRel ? $findRel : new MedidasDicEntidadInspeccion());  
       
          
        $medDiscEI->setMedidaDisciplinaria($row);
        $medDiscEI->setEntidadInspeccion($entidadInspeccion);
               
      /* 
       * Otro Pregunta 157
       */
        if($row->getId() == 12):
          $otro = $form->get('otraMedDisc')->getData();
        
          $medDiscEI->setOtraMedida($otro);
        endif;
        
        $em->persist($medDiscEI);
      endforeach;
      endif;
      
      /* 
       * Pregunta 188
       * 
       */
      $cursosFormacionEntidad = $form->get('cursosFormacionEntidad')->getData(); 
       
      if($cursosFormacionEntidad):
      foreach($cursosFormacionEntidad as $row):
        $findRel = $em->getRepository('SieseEntityBundle:CursosFormacionEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'cursoFormacion' => $row));
        $cursosFEI = ($findRel ? $findRel : new CursosFormacionEntidadInspeccion());    
       
        $cursosFEI->setCursoFormacion($row);
        $cursosFEI->setEntidadInspeccion($entidadInspeccion);
               
      /* 
       * Otro Pregunta 188
       */
        if($row->getId() == 7):
          $otro = $form->get('otroCursoFormacion')->getData();
        
          $cursosFEI->setOtroCurso($otro);
        endif;
        
        $em->persist($cursosFEI);
      endforeach;      
      endif;
      
      /* 
       * Pregunta 189
       * 
       */
      $orgFormacionEntidad = $form->get('orgFormacionEntidad')->getData(); 
       
      if($orgFormacionEntidad):
      foreach($orgFormacionEntidad as $row):
       $findRel = $em->getRepository('SieseEntityBundle:OrgCursosEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'organismoFormacion' => $row));
        $orgForEI = ($findRel ? $findRel : new OrgCursosEntidadInspeccion());    
          
       
          
        $orgForEI->setOrganismoFormacion($row);
        $orgForEI->setEntidadInspeccion($entidadInspeccion);
               
      /* 
       * Otro Pregunta 189
       */
        if($row->getId() == 9):
          $otro = $form->get('otroOrgFormacion')->getData();
        
          $orgForEI->setOtroOrganismo($otro);
        endif;
        
        $em->persist($orgForEI);
      endforeach;       
      endif;
      
      /* 
       * Otra Razon Pregunta 203
       *
       */
      $frecVisitas = $form->get('frecuenciaVisitas')->getData();
      
      if($frecVisitas):
        if($frecVisitas->getId() == 7):
          $otro = $form->get('otraFrecVisita')->getData();
        
          if(!isset($otrasRazones)):
            $findRel = $em->getRepository('SieseEntityBundle:OtrasRazones')->find($entidadInspeccion->getId());
            $otrasRazones = ($findRel ? $findRel : new OtrasRazones()); 
            $otrasRazones->setEntidadInspeccion($entidadInspeccion);
          endif;

          $otrasRazones->setOtroFrecVisitas($otro);
          $em->persist($otrasRazones);
        endif;      
      endif;
      
      /* 
       * Otra Razon Pregunta 205
       *
       */
      $frecVisitasHijos = $form->get('frecuenciaVisitasHijos')->getData();
      
      if($frecVisitasHijos):
        if($frecVisitasHijos->getId() == 7):
          $otro = $form->get('otraFrecVisitaHijos')->getData();
        
          if(!isset($otrasRazones)):
            $findRel = $em->getRepository('SieseEntityBundle:OtrasRazones')->find($entidadInspeccion->getId());
            $otrasRazones = ($findRel ? $findRel : new OtrasRazones()); 
            $otrasRazones->setEntidadInspeccion($entidadInspeccion);
          endif;

          $otrasRazones->setOtroFrecVisitasHijos($otro);
          $em->persist($otrasRazones);
        endif;      
      endif;      
      
      /* 
       * Pregunta 218
       * 
       */
      $actFueraEI = $form->get('actFueraEI')->getData(); 
       
      if($actFueraEI):
      foreach($actFueraEI as $row):
           $findRel = $em->getRepository('SieseEntityBundle:ActividadesFueraEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'actividadFuera' => $row));
        $actFEI = ($findRel ? $findRel : new ActividadesFueraEntidadInspeccion());      
        
          
        $cantPart = $form->get('cantParticipantes_'.$row->getId())->getData();
        
        $actFEI->setActividadFuera($row);
        $actFEI->setEntidadInspeccion($entidadInspeccion);
        $actFEI->setCantParticipantes($cantPart);
               
      /* 
       * Otro Pregunta 218
       */
       if($row->getId() == 3):
          $otro = $form->get('otraActFueraEI')->getData();
          $actFEI->setOtraActFuera($otro);
        endif;
        
        $em->persist($actFEI);
      endforeach; 
      endif;
      
      $em->flush();
    }
    
    
    /**
     * Funcion para setear todas las relaciones Muchos a Muchos de la Inspeccion
     * de Entidades al cargarlas
     * 
     * @author Gabriel E. Peñaranda G. <gabriel.e.p.gonzalez@gmail.com>
     * @param type $form
     * @param type $entity
     * @param type $em
     */
    public function cargarRelacionesFormularioEntidadFemenina($form,$entidadInspeccion,$em) {
       $otraRazonNCC = null;
       $otraRazonNADI = null;
       $otraRazonFEAI = null;
       $otraRazonNAI  = null;
       $otraRazonNAPD = null;
       
       
       $this->cargarRelacionesComunes($form, $entidadInspeccion, $em);
       
      
      
      
      
      /* Pregunta 29 
       * 
       * Si la razon de no contacto consular es Otra, se agrega el text otra razon
       * en la Entidad Otras Razones
       */
      $razonNoContactoConsular = $form->get('razonesNoContactoConsular')->getData();
      if($razonNoContactoConsular):  
        if($razonNoContactoConsular->getId() == 3):
          $otraRazonNCC = $form->get('otraRazonNoContactoConsular')->getData();

          if(!isset($otrasRazones)):
            $findRel = $em->getRepository('SieseEntityBundle:OtrasRazones')->find($entidadInspeccion->getId());
            $otrasRazones = ($findRel ? $findRel : new OtrasRazones()); 
            $otrasRazones->setEntidadInspeccion($entidadInspeccion);
          endif;

          $otrasRazones->setNoContactoCosular($otraRazonNCC);
          $em->persist($otrasRazones);
          //$em->flush();
        endif;
      endif;
      
      /* 
       * Pregunta 31
       * 
       * Se buscan las pob ind seleccionados por el usuario para guardarlos 
       * en la Base de Datos */
      $pobIndSeleccionadas = $form->get('pobEtniasEntidadIns')->getData(); 
       
      if($pobIndSeleccionadas):
        foreach($pobIndSeleccionadas as $row):
         $findRel = $em->getRepository('SieseEntityBundle:EtniasEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                     'etnia' => $row));
          $etniaEntidadInspeccion = ($findRel ? $findRel : new EtniasEntidadInspeccion());   



          $cantPobProc = $form->get('cantPobIndProcesados_'.$row->getId())->getData();
          $cantPobSanc = $form->get('cantPobIndSancionados_'.$row->getId())->getData();

          $etniaEntidadInspeccion->setEtnia($row);
          $etniaEntidadInspeccion->setEntidadInspeccion($entidadInspeccion);
          $etniaEntidadInspeccion->setCantPobProcesada($cantPobProc);
          $etniaEntidadInspeccion->setCantPobSancionada($cantPobSanc);
          $em->persist($etniaEntidadInspeccion);
          //$em->flush();
        endforeach;
      endif;
      
      /* Pregunta 34 
       * 
       * Si la razon es Otra, se agrega el text otra razon
       * en la Entidad Otras Razones
       */
      $razonNoAsisDpInd = $form->get('razonNoAsisDpInd')->getData();
      if($razonNoAsisDpInd):
        if($razonNoAsisDpInd->getId() == 2):
          $otraRazonNADI = $form->get('otraRazonNoAsisDpInd')->getData();

          if(!isset($otrasRazones)):
            $findRel = $em->getRepository('SieseEntityBundle:OtrasRazones')->find($entidadInspeccion->getId());
            $otrasRazones = ($findRel ? $findRel : new OtrasRazones()); 
            $otrasRazones->setEntidadInspeccion($entidadInspeccion);
          endif;

          $otrasRazones->setPobIndigenaNoAsisDpPublica($otraRazonNADI);
          $em->persist($otrasRazones);
          //$em->flush();
        endif;      
      endif;
      
      /* Pregunta 36
       *
       */
      $razonFaltaEstAntro = $form->get('razonFaltaEstAntro')->getData();
      
      if($razonFaltaEstAntro):
        if($razonFaltaEstAntro->getId() == 4):
          $otraRazonFEAI = $form->get('otraRazonFaltaEstudioAntropologicoInd')->getData();
        
          
          
          
          if(!isset($otrasRazones)):
           $findRel = $em->getRepository('SieseEntityBundle:OtrasRazones')->find($entidadInspeccion->getId());
            $otrasRazones = ($findRel ? $findRel : new OtrasRazones()); 
            $otrasRazones->setEntidadInspeccion($entidadInspeccion);
          endif;

          $otrasRazones->setNoRealizadoEstudioAntropologico($otraRazonFEAI);
          $em->persist($otrasRazones);
        endif;      
      endif; 
      
      /* 
       * Pregunta 40
       * 
       * Se buscan las pob disc seleccionados por el usuario para guardarlos 
       * en la Base de Datos 
       */
      $discEntIns = $form->get('discapacidadesEntidadInspeccion')->getData(); 
       
      if($discEntIns):
      foreach($discEntIns as $row):
         $findRel = $em->getRepository('SieseEntityBundle:DiscapacidadesEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'discapacidad' => $row));
        $discapacidadesEntidadInspeccion = ($findRel ? $findRel : new DiscapacidadesEntidadInspeccion());     
          
       
          
        $cantPobProc = $form->get('cantDiscProcesados_'.$row->getId())->getData();
        $cantPobSanc = $form->get('cantDiscSancionados_'.$row->getId())->getData();
        
        $discapacidadesEntidadInspeccion->setDiscapacidad($row);
        $discapacidadesEntidadInspeccion->setEntidadInspeccion($entidadInspeccion);
        $discapacidadesEntidadInspeccion->setCantPobProcesada($cantPobProc);
        $discapacidadesEntidadInspeccion->setCantPobSancionada($cantPobSanc);
        $em->persist($discapacidadesEntidadInspeccion);
      endforeach;      
      endif;
      

      /* 
       * Otra Razon Pregunta 42
       *
       */
      $razonNoAdapIns = $form->get('razonesNoAdaptacionInstalaciones')->getData();
      
      if($razonNoAdapIns):
        if($razonNoAdapIns->getId() == 4):
          $otraRazonNAI = $form->get('otrasRazonesNoAdaptacionInstalaciones')->getData();
        
          if(!isset($otrasRazones)):
          $findRel = $em->getRepository('SieseEntityBundle:OtrasRazones')->find($entidadInspeccion->getId());
            $otrasRazones = ($findRel ? $findRel : new OtrasRazones()); 
            $otrasRazones->setEntidadInspeccion($entidadInspeccion);
          endif;

          $otrasRazones->setNoAdaptacionIns($otraRazonNAI);
          $em->persist($otrasRazones);
        endif;      
      endif;
      
      /* 
       * Otra Razon Pregunta 44
       *
       */
      $razonNoAtenPobDisc = $form->get('razonesNoAtencionPobDiscapacidad')->getData();
      
      if($razonNoAtenPobDisc):
        if($razonNoAtenPobDisc->getId() == 4):
          $otraRazonNAPD = $form->get('otraRazonNoAtencionPobDisc')->getData();
        
          if(!isset($otrasRazones)):
          $findRel = $em->getRepository('SieseEntityBundle:OtrasRazones')->find($entidadInspeccion->getId());
            $otrasRazones = ($findRel ? $findRel : new OtrasRazones()); 
            $otrasRazones->setEntidadInspeccion($entidadInspeccion);
          endif;

          $otrasRazones->setNoAtencionPobDisc($otraRazonNAPD);
          $em->persist($otrasRazones);
        endif;      
      endif;      
      
      
      /* 
       * Pregunta 47
       * 
       */
      $procDetencionPob = $form->get('procDetencionPob')->getData(); 
       
      foreach($procDetencionPob as $row):
       
       $findRel = $em->getRepository('SieseEntityBundle:ProcedenciaPobEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'procedenciaPob' => $row));
        $procPobEIns = ($findRel ? $findRel : new ProcedenciaPobEntidadInspeccion());     
        $cantPob = $form->get('cantPob_'.$row->getId())->getData();
        
        $procPobEIns->setProcedenciaPob($row);
        $procPobEIns->setEntidadInspeccion($entidadInspeccion);
        $procPobEIns->setCantidadPoblacion($cantPob);

        if($row->getId() == 8):
          $procPobEIns->setOtrasProc($form->get('otraProcPob')->getData());    
        endif;
        
        $em->persist($procPobEIns);
      endforeach;  
   

      /* 
       * Pregunta 63
       * 
       */
      $especialidadesMedicas = $form->get('especialidadesMedicas')->getData(); 
       
      foreach($especialidadesMedicas as $row):
        $findRel = $em->getRepository('SieseEntityBundle:EspecialidadesEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'especialidad' => $row));
        $espMedEI = ($findRel ? $findRel : new EspecialidadesEntidadInspeccion());      
          
        
          
        $cantEsp = $form->get('cantEsp_'.$row->getId())->getData();
        
        $espMedEI->setEspecialidad($row);
        $espMedEI->setEntidadInspeccion($entidadInspeccion);
        $espMedEI->setCantEspecialistas($cantEsp);

        
        $em->persist($espMedEI);
      endforeach;
      
      /* 
       * Pregunta 64
       * 
       */
      $problemasSaludPob = $form->get('problemasSaludPob')->getData(); 
       
      foreach($problemasSaludPob as $row):
       $findRel = $em->getRepository('SieseEntityBundle:PatologiasPresentadasEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'patologia' => $row));
        $patPreEI = ($findRel ? $findRel : new PatologiasPresentadasEntidadInspeccion());     
          
    
        $medRec = $form->get('medRec_'.$row->getId())->getData();
        
        $recibioMedicamentos = ($medRec == 1 ? true : false);
       
        $patPreEI->setPatologia($row);
        $patPreEI->setEntidadInspeccion($entidadInspeccion);
        $patPreEI->setRecibioMedicamentos($recibioMedicamentos);


        $em->persist($patPreEI);
      endforeach;
      
      /* 
       * Pregunta 66
       * 
       */
      $razonesDecesosPob = $form->get('razonesDecesosPob')->getData(); 
       
      foreach($razonesDecesosPob as $row):
        $findRel = $em->getRepository('SieseEntityBundle:RazonesDecesosPobEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'razonDeceso' => $row));
        $razDecPob = ($findRel ? $findRel : new RazonesDecesosPobEntidadInspeccion());    
          
       
          
        $razDecPob->setRazonDeceso($row);
        $razDecPob->setEntidadInspeccion($entidadInspeccion);
        

        $em->persist($razDecPob);
      endforeach;      
      

      
      /* 
       * Pregunta 79
       * 
       */
      $misionesSocEntidad = $form->get('misionesSocEntidad')->getData(); 
       
      foreach($misionesSocEntidad as $row):
          
        $findRel = $em->getRepository('SieseEntityBundle:MisionesSocialesEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'misionSocial' => $row));
        $misSocEI = ($findRel ? $findRel : new MisionesSocialesEntidadInspeccion());    
       
          
        $misSocEI->setMisionSocial($row);
        $misSocEI->setEntidadInspeccion($entidadInspeccion);
        

        $em->persist($misSocEI);
      endforeach;         

      
      /* 
       * Pregunta 83
       * 
       */
      $actDepEntidad = $form->get('actDepEntidad')->getData(); 
       
      foreach($actDepEntidad as $row):
          
         $findRel = $em->getRepository('SieseEntityBundle:DeportesEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'deporte' => $row));
        $depEI = ($findRel ? $findRel : new DeportesEntidadInspeccion());      
          
       
          
        $cantPart = $form->get('cantPart_'.$row->getId())->getData();
        
        $depEI->setDeporte($row);
        $depEI->setEntidadInspeccion($entidadInspeccion);
        $depEI->setCantParticipantes($cantPart);

        
        $em->persist($depEI);
      endforeach;     
      
      

      /* 
       * Pregunta 85
       * 
       */
      $insumosDepEntidad = $form->get('insumosDepEntidad')->getData(); 
       
      foreach($insumosDepEntidad as $row):
          
              
         $findRel = $em->getRepository('SieseEntityBundle:OrgSumEqsDepEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'orgSuministradorEquiposDep' => $row));
        $orgSumEqEI = ($findRel ? $findRel : new OrgSumEqsDepEntidadInspeccion());   
        
          
        
        $orgSumEqEI->setOrgSuministradorEquiposDep($row);
        $orgSumEqEI->setEntidadInspeccion($entidadInspeccion);
        
        
        $em->persist($orgSumEqEI);
      endforeach; 
 

    
      /* 
       * Pregunta 90
       * 
       */
      $actCulEntidad = $form->get('actCulEntidad')->getData(); 
       
      foreach($actCulEntidad as $row):
          $findRel = $em->getRepository('SieseEntityBundle:ActividadesCulturalesEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'actividadCultural' => $row));
        $actCulEI = ($findRel ? $findRel : new ActividadesCulturalesEntidadInspeccion());    
          
        
          
        $cantPart = $form->get('cantPartCul_'.$row->getId())->getData();
        
        $actCulEI->setActividadCultural($row);
        $actCulEI->setEntidadInspeccion($entidadInspeccion);
        $actCulEI->setCantParticipantes($cantPart);
        
        $em->persist($actCulEI);
      endforeach;       
      

      
      /* 
       * Pregunta 95
       * 
       */
      $talleresEntidad = $form->get('talleresEntidad')->getData(); 
       
      foreach($talleresEntidad as $row):
           $findRel = $em->getRepository('SieseEntityBundle:TalleresTrabajoEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'taller' => $row));
        $tallTrabEI = ($findRel ? $findRel : new TalleresTrabajoEntidadInspeccion());   
      
          
        $cantPart = $form->get('cantPartTalleres_'.$row->getId())->getData();
        
        $tallTrabEI->setTaller($row);
        $tallTrabEI->setEntidadInspeccion($entidadInspeccion);
        $tallTrabEI->setCantParticipantes($cantPart);
        
        $em->persist($tallTrabEI);
      endforeach;
    

      
      /* 
       * Pregunta 100
       * 
       */
      $fRemuneracionLab = $form->get('fRemuneracionLab')->getData(); 
       
      foreach($fRemuneracionLab as $row):
        $findRel = $em->getRepository('SieseEntityBundle:FrecuenciaRemuneracionLabEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'frecuenciaRemuneracionLaboral' => $row));
        $fRLabEI = ($findRel ? $findRel : new FrecuenciaRemuneracionLabEntidadInspeccion());   
      
       
          
        $fRLabEI->setFrecuenciaRemuneracionLaboral($row);
        $fRLabEI->setEntidadInspeccion($entidadInspeccion);
        
        $em->persist($fRLabEI);
      endforeach;
      
      /* 
       * Pregunta 101
       * 
       */
      $remuneracionLab = $form->get('remuneracionLab')->getData(); 
       
      foreach($remuneracionLab as $row):
        $findRel = $em->getRepository('SieseEntityBundle:RemuneracionLaboralEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'remuneracionLaboral' => $row));
        $rLabEI = ($findRel ? $findRel : new RemuneracionLaboralEntidadInspeccion());  
       
        $rLabEI->setRemuneracionLaboral($row);
        $rLabEI->setEntidadInspeccion($entidadInspeccion);
        
        $em->persist($rLabEI);
      endforeach;      
      
      
      /* 
       * Pregunta 117
       * 
       */
      $reglamento = $form->get('reglamento')->getData(); 
       
      foreach($reglamento as $row):
        $findRel = $em->getRepository('SieseEntityBundle:PreparacionReglamentoEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'organismoPrepReglamento' => $row));
        $preRegEI = ($findRel ? $findRel : new PreparacionReglamentoEntidadInspeccion());  
        
          
        $preRegEI->setOrganismoPrepReglamento($row);
        $preRegEI->setEntidadInspeccion($entidadInspeccion);
        
        
      /* 
       * Otro Reglamento Pregunta 117
       *
       */
        if($row->getId() == 6):
          $otroOrganismo = $form->get('otroOrganismo')->getData();
        
          $preRegEI->setOtroOrganismo($otroOrganismo);
        endif;
        
        
        $em->persist($preRegEI);
      endforeach;        
      
      
      /* 
       * Pregunta 127
       * 
       */
      $planIndividual = $form->get('planIndividual')->getData(); 
       
      foreach($planIndividual as $row):
          $findRel = $em->getRepository('SieseEntityBundle:TipoElaboracionPlanEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'tipoElaboracionPlan' => $row));
        $tipoElabPlanEI = ($findRel ? $findRel : new TipoElaboracionPlanEntidadInspeccion());  
       
          
        $tipoElabPlanEI->setTipoElaboracionPlan($row);
        $tipoElabPlanEI->setEntidadInspeccion($entidadInspeccion);
               
        
      /* 
       * Otro Pregunta 127
       */
        if($row->getId() == 5):
          $otro = $form->get('otroPlanIndividual')->getData();
        
          $tipoElabPlanEI->setOtroTipoElaboracion($otro);
        endif;
        
        $em->persist($tipoElabPlanEI);
      endforeach;
      
      
      /* 
       * Pregunta 133
       * 
       */
      $depAdmEntidad = $form->get('depAdmEntidad')->getData(); 
       
      foreach($depAdmEntidad as $row):
         $findRel = $em->getRepository('SieseEntityBundle:DepAdmEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'depAdministrativa' => $row));
        $depAdmEI = ($findRel ? $findRel : new DepAdmEntidadInspeccion());  
        
          
       
          
        $depAdmEI->setDepAdministrativa($row);
        $depAdmEI->setEntidadInspeccion($entidadInspeccion);
      
        
      /* 
       * Otro Pregunta 133
       */
        if($row->getId() == 4):
          $otro = $form->get('otraDepAdm')->getData();
        
          $depAdmEI->setOtraDependencia($otro);
        endif;
        
        $em->persist($depAdmEI);
      endforeach;
      
      
      
      /* 
       * Otra Razon Pregunta 135
       *
       */
      $contraloriaPresupuestor = $form->get('contraloriaPresupuesto')->getData();
      
      if($contraloriaPresupuestor):
        if($contraloriaPresupuestor->getId() == 5):
          $otroContralor = $form->get('otroContralor')->getData();
        
          if(!isset($otrasRazones)):
           $findRel = $em->getRepository('SieseEntityBundle:OtrasRazones')->find($entidadInspeccion->getId());
            $otrasRazones = ($findRel ? $findRel : new OtrasRazones()); 
            $otrasRazones->setEntidadInspeccion($entidadInspeccion);
          endif;

          $otrasRazones->setOtroContralor($otroContralor);
          $em->persist($otrasRazones);
        endif;      
      endif;
      
      
      
      /* 
       * Pregunta 137
       * 
       */
      $apoyoEntidad = $form->get('apoyoEntidad')->getData(); 
       
      foreach($apoyoEntidad as $row):
            $findRel = $em->getRepository('SieseEntityBundle:OrganismosApoyoEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'organismoApoyo' => $row));
        $orgApEI = ($findRel ? $findRel : new OrganismosApoyoEntidadInspeccion());   
        
          
        $orgApEI->setOrganismoApoyo($row);
        $orgApEI->setEntidadInspeccion($entidadInspeccion);
        
      /* 
       * Otro Pregunta 137
       */
        if($row->getId() == 6):
          $otro = $form->get('otroOrgApoyoEI')->getData();
        
          $orgApEI->setOtroOrganismo($otro);
        endif;
        
        
        $em->persist($orgApEI);
      endforeach;  
      
      /* 
       * Pregunta 138
       * 
       */
      $tipoApoyoEntidad = $form->get('tipoApoyoOrganismo')->getData(); 
       
      foreach($tipoApoyoEntidad as $row):
        $findRel = $em->getRepository('SieseEntityBundle:TipoApoyoOrgEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'tipoApoyo' => $row));
        $tipoOrgApEI = ($findRel ? $findRel : new TipoApoyoOrgEntidadInspeccion());   
        
          
        $tipoOrgApEI->setTipoApoyo($row);
        $tipoOrgApEI->setEntidadInspeccion($entidadInspeccion);
               
      /* 
       * Otro Pregunta 138
       */
        if($row->getId() == 8):
          $otro = $form->get('otroTipoApoyoEI')->getData();
        
          $tipoOrgApEI->setOtroTipoApoyo($otro);
        endif;
        
        $em->persist($tipoOrgApEI);
      endforeach;        
              
      
      /* 
       * Pregunta 146
       * 
       */
      $etapasPrograma = $form->get('etapasPrograma')->getData(); 
       
      foreach($etapasPrograma as $row):
               $findRel = $em->getRepository('SieseEntityBundle:EtapasProgramasEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'etapaPrograma' => $row));
        $etapasProgEI = ($findRel ? $findRel : new EtapasProgramasEntidadInspeccion());   
        
          
        $etapasProgEI->setEtapaPrograma($row);
        $etapasProgEI->setEntidadInspeccion($entidadInspeccion);
               
      /* 
       * Otro Pregunta 146
       */
        if($row->getId() == 7):
          $otro = $form->get('otraEtapaPrograma')->getData();
        
          $etapasProgEI->setOtraEtapaPrograma($otro);
        endif;
        
        $em->persist($etapasProgEI);
      endforeach;
      
      
      /* 
       * Pregunta 149
       * 
       */
      $unidadesTransEntidad = $form->get('unidadesTransEntidad')->getData(); 
       
      foreach($unidadesTransEntidad as $row):
              $findRel = $em->getRepository('SieseEntityBundle:UnidadesTransEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'unidadTransporte' => $row));
        $uniTransEI = ($findRel ? $findRel : new UnidadesTransEntidadInspeccion());   
        
          
        $cantUniAct = $form->get('cantUniAct_'.$row->getId())->getData();
        $cantUniInact = $form->get('cantUniInact_'.$row->getId())->getData();
        
        $uniTransEI->setUnidadTransporte($row);
        $uniTransEI->setEntidadInspeccion($entidadInspeccion);
        $uniTransEI->setCantActiva($cantUniAct);
        $uniTransEI->setCantInactiva($cantUniInact);
        $em->persist($uniTransEI);
      endforeach;       
      
      
      /* 
       * Pregunta 157
       * 
       */
      $medidasDisciplinarias = $entidadInspeccion->getMedidasDicEntidadInspeccion();
      
      
      foreach($medidasDisciplinarias as $row):
        //$entidadInspeccion->removeMedidasDicEntidadInspeccion($row);
        $em->remove($row);
        $em->flush();
      endforeach;
       
      
      $medidasDisciplinarias = $form->get('medidasDisciplinarias')->getData();
      
      foreach($medidasDisciplinarias as $row):
                     $findRel = $em->getRepository('SieseEntityBundle:MedidasDicEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'medidaDisciplinaria' => $row));
        $medDiscEI = ($findRel ? $findRel : new MedidasDicEntidadInspeccion());  
       
          
        $medDiscEI->setMedidaDisciplinaria($row);
        $medDiscEI->setEntidadInspeccion($entidadInspeccion);
               
      /* 
       * Otro Pregunta 157
       */
        if($row->getId() == 12):
          $otro = $form->get('otraMedDisc')->getData();
        
          $medDiscEI->setOtraMedida($otro);
        endif;
        
        $em->persist($medDiscEI);
      endforeach;
      
      
      /* 
       * Pregunta 188
       * 
       */
      $cursosFormacionEntidad = $form->get('cursosFormacionEntidad')->getData(); 
       
      foreach($cursosFormacionEntidad as $row):
        $findRel = $em->getRepository('SieseEntityBundle:CursosFormacionEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'cursoFormacion' => $row));
        $cursosFEI = ($findRel ? $findRel : new CursosFormacionEntidadInspeccion());    
       
        $cursosFEI->setCursoFormacion($row);
        $cursosFEI->setEntidadInspeccion($entidadInspeccion);
               
      /* 
       * Otro Pregunta 188
       */
        if($row->getId() == 7):
          $otro = $form->get('otroCursoFormacion')->getData();
        
          $cursosFEI->setOtroCurso($otro);
        endif;
        
        $em->persist($cursosFEI);
      endforeach;      
      
      /* 
       * Pregunta 189
       * 
       */
      $orgFormacionEntidad = $form->get('orgFormacionEntidad')->getData(); 
       
      foreach($orgFormacionEntidad as $row):
       $findRel = $em->getRepository('SieseEntityBundle:OrgCursosEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'organismoFormacion' => $row));
        $orgForEI = ($findRel ? $findRel : new OrgCursosEntidadInspeccion());    
          
       
          
        $orgForEI->setOrganismoFormacion($row);
        $orgForEI->setEntidadInspeccion($entidadInspeccion);
               
      /* 
       * Otro Pregunta 189
       */
        if($row->getId() == 9):
          $otro = $form->get('otroOrgFormacion')->getData();
        
          $orgForEI->setOtroOrganismo($otro);
        endif;
        
        $em->persist($orgForEI);
      endforeach;       
      
      
      /* 
       * Otra Razon Pregunta 203
       *
       */
      $frecVisitas = $form->get('frecuenciaVisitas')->getData();
      
      if($frecVisitas):
        if($frecVisitas->getId() == 7):
          $otro = $form->get('otraFrecVisita')->getData();
        
          if(!isset($otrasRazones)):
            $findRel = $em->getRepository('SieseEntityBundle:OtrasRazones')->find($entidadInspeccion->getId());
            $otrasRazones = ($findRel ? $findRel : new OtrasRazones()); 
            $otrasRazones->setEntidadInspeccion($entidadInspeccion);
          endif;

          $otrasRazones->setOtroFrecVisitas($otro);
          $em->persist($otrasRazones);
        endif;      
      endif;
      
      /* 
       * Otra Razon Pregunta 205
       *
       */
      $frecVisitasHijos = $form->get('frecuenciaVisitasHijos')->getData();
      
      if($frecVisitasHijos):
        if($frecVisitasHijos->getId() == 7):
          $otro = $form->get('otraFrecVisitaHijos')->getData();
        
          if(!isset($otrasRazones)):
            $findRel = $em->getRepository('SieseEntityBundle:OtrasRazones')->find($entidadInspeccion->getId());
            $otrasRazones = ($findRel ? $findRel : new OtrasRazones()); 
            $otrasRazones->setEntidadInspeccion($entidadInspeccion);
          endif;

          $otrasRazones->setOtroFrecVisitasHijos($otro);
          $em->persist($otrasRazones);
        endif;      
      endif;      
      
      /* 
       * Pregunta 218
       * 
       */
      $actFueraEI = $form->get('actFueraEI')->getData(); 
       
      foreach($actFueraEI as $row):
           $findRel = $em->getRepository('SieseEntityBundle:ActividadesFueraEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'actividadFuera' => $row));
        $actFEI = ($findRel ? $findRel : new ActividadesFueraEntidadInspeccion());      
        
          
        $cantPart = $form->get('cantParticipantes_'.$row->getId())->getData();
        
        $actFEI->setActividadFuera($row);
        $actFEI->setEntidadInspeccion($entidadInspeccion);
        $actFEI->setCantParticipantes($cantPart);
               
      /* 
       * Otro Pregunta 218
       */
       if($row->getId() == 3):
          $otro = $form->get('otraActFueraEI')->getData();
          $actFEI->setOtraActFuera($otro);
        endif;
        
        $em->persist($actFEI);
      endforeach; 
      
      
      $em->flush();
    }
    
    
    public function mostrarRelacionesFormulario($entidadInspeccion,$form) {
      $em = $this->entityManager;
      
      
      
      /* Pregunta 15 */
      $gradoInsDirector = $form->get('gradoInstruccionDirector')->getData();
      
      if($gradoInsDirector && $gradoInsDirector->getId() == 8):
        $otrasRazones = $em->getRepository('SieseEntityBundle:OtrasRazones')->findOneBy(array('entidadInspeccion' => $entidadInspeccion));
        
        if($otrasRazones):
          $form->get('otroGradoInstruccionDirector')->setData($otrasRazones->getOtroGradoInstruccionDirector());    
        endif;
      endif;
      /* Pregunta 15 */
     
      
      /* Pregunta 17 */
      $pobRangosEdades = $em->getRepository('SieseEntityBundle:CatRangosEdades')->findAll(); 
      $siPobRangosEdades = false;

      foreach($pobRangosEdades as $row):
        $findRel = $em->getRepository('SieseEntityBundle:RangosEdadesEntidadInspeccion')->findOneBy(array('entidadInspeccionRangosEdades' => $entidadInspeccion,
                                                                                                          'rangosEdadesEntidadInspeccion' => $row));
        if($findRel):
          $siPobRangosEdades = true;
          $arregloPobRangosEdades['rangoId'][] = $findRel->getRangosEdadesEntidadInspeccion()->getId();
          
          $form->get('cantPobRE_'.$findRel->getRangosEdadesEntidadInspeccion()->getId())->setData($findRel->getCantidadPoblacion());  
        endif;
        
      endforeach;     
      
      if($siPobRangosEdades == true):
      $eiRangosEdades = $em->getRepository('SieseEntityBundle:CatRangosEdades')->findBy(array('id' => $arregloPobRangosEdades['rangoId']));
       
      
      ($form->get('pobRangoEdades') ? $form->get('pobRangoEdades')->setData($eiRangosEdades) : null);
      endif;
      /* Pregunta 17 */
      
      /* Pregunta 29 */
      $razonNoContactoConsular = $form->get('razonesNoContactoConsular')->getData();
      
      if($razonNoContactoConsular && $razonNoContactoConsular->getId() == 3):
        $otrasRazones = $em->getRepository('SieseEntityBundle:OtrasRazones')->findOneBy(array('entidadInspeccion' => $entidadInspeccion));
        
        if($otrasRazones):
          $form->get('otraRazonNoContactoConsular')->setData($otrasRazones->getNoContactoCosular());    
        endif;
        
      endif;
      /* Pregunta 29 */      
      
      /* Pregunta 31 */
      $etnias = $em->getRepository('SieseEntityBundle:CatEtnias')->findAll(); 
      $siEtnias = false;      
      
      foreach($etnias as $row):
        $findRel = $em->getRepository('SieseEntityBundle:EtniasEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                   'etnia' => $row));
          
        if($findRel):
          $siEtnias = true;
          $arregloIdEtnias['id'][] = $findRel->getEtnia()->getId();
          $form->get('cantPobIndProcesados_'.$row->getId())->setData($findRel->getCantPobProcesada());
          $form->get('cantPobIndSancionados_'.$row->getId())->setData($findRel->getCantPobSancionada());          
        endif;
      endforeach;
 
      if($siEtnias == true):
      $etnias = $em->getRepository('SieseEntityBundle:CatEtnias')->findBy(array('id' => $arregloIdEtnias['id']));
       
      ($form->get('pobEtniasEntidadIns') ? $form->get('pobEtniasEntidadIns')->setData($etnias) : null);
      endif;
      /* Pregunta 31 */
      
      
      /* Pregunta 34 */
      $razonNoAsisDpInd = $form->get('razonNoAsisDpInd')->getData();
      
      if($razonNoAsisDpInd && $razonNoAsisDpInd->getId() == 2):
        $otrasRazones = $em->getRepository('SieseEntityBundle:OtrasRazones')->findOneBy(array('entidadInspeccion' => $entidadInspeccion));
        
        if($otrasRazones):
          $form->get('otraRazonNoAsisDpInd')->setData($otrasRazones->getPobIndigenaNoAsisDpPublica());    
        endif;
        
      endif;
      
      
      /* Pregunta 36 */
      $razonFaltaEstAntro = $form->get('razonFaltaEstAntro')->getData();
      
      if($razonFaltaEstAntro && $razonFaltaEstAntro->getId() == 4):
        $otrasRazones = $em->getRepository('SieseEntityBundle:OtrasRazones')->findOneBy(array('entidadInspeccion' => $entidadInspeccion));
        
        if($otrasRazones):
          $form->get('otraRazonFaltaEstudioAntropologicoInd')->setData($otrasRazones->getOtraRazonFaltaEstudioAntropologicoInd());    
        endif;
      endif;
      /* Pregunta 36 */ 
      
      
      /* Pregunta 40 */
      $discapacidades = $em->getRepository('SieseEntityBundle:CatDiscapacidades')->findAll(); 
      $discPob = false;
       
      foreach($discapacidades as $row):
       
       $findRel = $em->getRepository('SieseEntityBundle:DiscapacidadesEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                           'discapacidad' => $row));
       
       if($findRel):
          $discPob = true;
          $arregloIdDiscPob['id'][] = $findRel->getDiscapacidad()->getId();
          $form->get('cantDiscProcesados_'.$row->getId())->setData($findRel->getCantPobProcesada());
          $form->get('cantDiscSancionados_'.$row->getId())->setData($findRel->getCantPobSancionada());         
        endif;
      endforeach;  
      
      if($discPob == true):
      $relacionVerificada = $em->getRepository('SieseEntityBundle:CatDiscapacidades')->findBy(array('id' => $arregloIdDiscPob['id']));
       
      $form->get('discapacidadesEntidadInspeccion')->setData($relacionVerificada);
      endif; 
      /* Pregunta 40 */      
      
      /* Pregunta 42 */
      $razonesNoAdaptacionInstalaciones = $form->get('razonesNoAdaptacionInstalaciones')->getData();
      
      if($razonesNoAdaptacionInstalaciones):
        if($razonesNoAdaptacionInstalaciones->getId() == 4):
          $otrasRazones = $em->getRepository('SieseEntityBundle:OtrasRazones')->findOneBy(array('entidadInspeccion' => $entidadInspeccion));
        
          if($otrasRazones):
            $form->get('otrasRazonesNoAdaptacionInstalaciones')->setData($otrasRazones->getNoAdaptacionIns());    
          endif;
        
        endif;      
      endif;
      

      /* Pregunta 42 */
      $razonesNoAtencionPobDiscapacidad = $form->get('razonesNoAtencionPobDiscapacidad')->getData();
      
      if($razonesNoAtencionPobDiscapacidad):
      if($razonesNoAtencionPobDiscapacidad->getId() == 4):
        $otrasRazones = $em->getRepository('SieseEntityBundle:OtrasRazones')->findOneBy(array('entidadInspeccion' => $entidadInspeccion));
        
        if($otrasRazones):
          $form->get('otraRazonNoAtencionPobDisc')->setData($otrasRazones->getNoAtencionPobDisc());    
        endif;
        
      endif;
      endif;
      /* Pregunta 42 */ 
      
      
      /* Pregunta 47 */
      $procDetencionPob = $em->getRepository('SieseEntityBundle:CatProcedenciaPob')->findAll(); 
      $procPob = false;
       
      foreach($procDetencionPob as $row):
       
       $findRel = $em->getRepository('SieseEntityBundle:ProcedenciaPobEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'procedenciaPob' => $row));
       
       if($findRel):
          $procPob = true;
          $arregloIdProcPob['id'][] = $findRel->getProcedenciaPob()->getId();
          $form->get('cantPob_'.$row->getId())->setData($findRel->getCantidadPoblacion()); 
          
          if($findRel->getProcedenciaPob()->getId() == 8):
            $form->get('otraProcPob')->setData($findRel->getOtrasProc());    
          endif;          
        endif;
      endforeach;  
      
      if($procPob == true):
      $procDetencionPob = $em->getRepository('SieseEntityBundle:CatProcedenciaPob')->findBy(array('id' => $arregloIdProcPob['id']));
       
      $form->get('procDetencionPob')->setData($procDetencionPob);
      endif; 
      /* Pregunta 47 */
      
      
      /* Pregunta 63 */
      $especialidadesMedicas = $em->getRepository('SieseEntityBundle:CatEspecialidadesMed')->findAll(); 
      $espMed = false;
       
      foreach($especialidadesMedicas as $row):
        $findRel = $em->getRepository('SieseEntityBundle:EspecialidadesEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'especialidad' => $row));
           
          
        
       if($findRel):
          $espMed = true;
          $arregloIdEspMed['id'][] = $findRel->getEspecialidad()->getId();
          $form->get('cantEsp_'.$row->getId())->setData($findRel->getCantEspecialistas());
       
        endif;
      endforeach;
      
      if($espMed == true):
      $espMed = $em->getRepository('SieseEntityBundle:CatEspecialidadesMed')->findBy(array('id' => $arregloIdEspMed['id']));
       
      $form->get('especialidadesMedicas')->setData($espMed);
      endif;       
      /* Pregunta 63 */
      
      /* Pregunta 64 */
      $problemasSaludPob = $em->getRepository('SieseEntityBundle:CatPatologias')->findAll(); 
      $promSalud = false;
      
       
      foreach($problemasSaludPob as $row):
       $findRel = $em->getRepository('SieseEntityBundle:PatologiasPresentadasEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'patologia' => $row));
           
          
       if($findRel):
          $promSalud = true;
          $arregloIdProbSalud['id'][] = $findRel->getPatologia()->getId();
          $form->get('medRec_'.$row->getId())->setData($findRel->getRecibioMedicamentos());
       endif;        
      endforeach;    
  
      if($promSalud == true):
      $espMed = $em->getRepository('SieseEntityBundle:CatPatologias')->findBy(array('id' => $arregloIdProbSalud['id']));
       
      $form->get('problemasSaludPob')->setData($espMed);
      endif;   
      /* Pregunta 64 */
      
      /* Pregunta 100 */
      $fRemuneracionLab = $em->getRepository('SieseEntityBundle:CatFrecuenciaRemuneracionLab')->findAll(); 
      $fRemLab = false;      

       
      foreach($fRemuneracionLab as $row):
        $findRel = $em->getRepository('SieseEntityBundle:FrecuenciaRemuneracionLabEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'frecuenciaRemuneracionLaboral' => $row));
           
       if($findRel):
          $fRemLab = true;
          $arregloIdFRemLab['id'][] = $findRel->getFrecuenciaRemuneracionLaboral()->getId();
       endif;       
      endforeach;
      
      if($fRemLab == true):
      $espMed = $em->getRepository('SieseEntityBundle:CatFrecuenciaRemuneracionLab')->findBy(array('id' => $arregloIdFRemLab['id']));
       
      $form->get('fRemuneracionLab')->setData($espMed);
      endif;   
      /* Pregunta 100 */
      
      
      /* Pregunta 101 */
      $remuneracionLab = $em->getRepository('SieseEntityBundle:CatRemuneracionLab')->findAll(); 
      $remLab = false;  
      
      foreach($remuneracionLab as $row):
        $findRel = $em->getRepository('SieseEntityBundle:RemuneracionLaboralEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'remuneracionLaboral' => $row));
         
       if($findRel):
          $remLab = true;
          $arregloIdRemLab['id'][] = $findRel->getRemuneracionLaboral()->getId();
       endif;
      endforeach;  
      
      if($remLab == true):
      $espMed = $em->getRepository('SieseEntityBundle:CatRemuneracionLab')->findBy(array('id' => $arregloIdRemLab['id']));
       
      $form->get('remuneracionLab')->setData($espMed);
      endif;  
      /* Pregunta 101 */
      
      
      /* Pregunta 106 */
      $clasificacionPob = $em->getRepository('SieseEntityBundle:CatClasificacionPob')->findAll(); 
      $clasfPob = false;  
      
      foreach($clasificacionPob as $row):
        $findRel = $em->getRepository('SieseEntityBundle:ClasificacionPobEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'clasificacionPob' => $row));
         
       if($findRel):
          $clasfPob = true;
          $arregloIdClasfPob['id'][] = $findRel->getClasificacionPob()->getId();
       endif;
      endforeach;  
      
      if($clasfPob == true):
      $espMed = $em->getRepository('SieseEntityBundle:CatClasificacionPob')->findBy(array('id' => $arregloIdClasfPob['id']));
       
      $form->get('criterioClasfPob')->setData($espMed);
      endif;  
      /* Pregunta 106 */
      
    
      /* Pregunta 117 */
      $organismosPrepReg = $em->getRepository('SieseEntityBundle:CatOrganismosPrepReg')->findAll(); 
      $orgPrepReg = false;  
      
      foreach($organismosPrepReg as $row):
        $findRel = $em->getRepository('SieseEntityBundle:PreparacionReglamentoEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                                   'organismoPrepReglamento' => $row));
         
       if($findRel):
          $orgPrepReg = true;
          $arregloIdOrgPrepReg['id'][] = $findRel->getOrganismoPrepReglamento()->getId();
          
        if($row->getId() == 6):
          $form->get('otroOrganismo')->setData($findRel->getOtroOrganismo());    
        endif;
       endif;
      endforeach;  
      
      if($orgPrepReg == true):
        $espMed = $em->getRepository('SieseEntityBundle:CatOrganismosPrepReg')->findBy(array('id' => $arregloIdOrgPrepReg['id']));
       
        $form->get('reglamento')->setData($espMed);

      endif;  
      /* Pregunta 117 */
      
      
      /* Pregunta 133 */
      $depAdmEntidad = $em->getRepository('SieseEntityBundle:CatDependenciaAdministrativa')->findAll(); 
      $depAdm = false;        
      
       
      foreach($depAdmEntidad as $row):
         $findRel = $em->getRepository('SieseEntityBundle:DepAdmEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                     'depAdministrativa' => $row));

       if($findRel):
          $depAdm = true;
          $arregloIdDepAdm['id'][] = $findRel->getDepAdministrativa()->getId();
          
         /* Otro Pregunta 133 */
         if($row->getId() == 4):
           $form->get('otraDepAdm')->setData($findRel->getOtraDependencia());
         endif;          
       endif;      
      endforeach; 
      
      if($depAdm == true):
      $espMed = $em->getRepository('SieseEntityBundle:CatDependenciaAdministrativa')->findBy(array('id' => $arregloIdDepAdm['id']));
       
      $form->get('depAdmEntidad')->setData($espMed);
      endif; 
      /* Pregunta 133 */
      
      
      /* Pregunta 135 */
      $contraloriaPresupuesto = $form->get('contraloriaPresupuesto')->getData(); 
      
      if($contraloriaPresupuesto):
        
        /* Otro Preg 135 */
        if($contraloriaPresupuesto->getId() == 5):
          $otrasRazones = $em->getRepository('SieseEntityBundle:OtrasRazones')->findOneBy(array('entidadInspeccion' => $entidadInspeccion));
          if($otrasRazones && $otrasRazones->getOtroContralor()):
            $form->get('otroContralor')->setData($otrasRazones->getOtroContralor());
          endif;
         endif;          
       endif;      
      /* Pregunta 135 */      
  
       
      /* Pregunta 146 */
      $etapasPrograma = $em->getRepository('SieseEntityBundle:CatEtapasPrograma')->findAll(); 
      $etpProg = false; 
      
      foreach($etapasPrograma as $row):
               $findRel = $em->getRepository('SieseEntityBundle:EtapasProgramasEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'etapaPrograma' => $row));

       if($findRel):
          $etpProg = true;
          $arregloIdEtpProg['id'][] = $findRel->getEtapaPrograma()->getId();
          
         /* Otro Pregunta 146 */
         if($row->getId() == 7):
           $form->get('otraEtapaPrograma')->setData($findRel->getOtraEtapaPrograma());
         endif;          
       endif;
      endforeach;
      
      if($etpProg == true):
      $espMed = $em->getRepository('SieseEntityBundle:CatEtapasPrograma')->findBy(array('id' => $arregloIdEtpProg['id']));
       
      $form->get('etapasPrograma')->setData($espMed);
      endif;       
      /* Pregunta 146 */
      
      
      /* Pregunta 149 */
      $unidadesTransporte = $em->getRepository('SieseEntityBundle:CatUnidadesTransporte')->findAll(); 
      $uTrans = false;  
      
      foreach($unidadesTransporte as $row):
        $findRel = $em->getRepository('SieseEntityBundle:UnidadesTransEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                           'unidadTransporte' => $row));
         
       if($findRel):
          $uTrans = true;
          $arregloIdUTrans['id'][] = $findRel->getUnidadTransporte()->getId();
          $form->get('cantUniAct_'.$row->getId())->setData($findRel->getCantActiva());
          $form->get('cantUniInact_'.$row->getId())->setData($findRel->getCantInactiva());     
       endif;
      endforeach;  
      
      if($uTrans == true):
        $espMed = $em->getRepository('SieseEntityBundle:CatUnidadesTransporte')->findBy(array('id' => $arregloIdUTrans['id']));
       
        $form->get('unidadesTransEntidad')->setData($espMed);

      endif;  
      /* Pregunta 149 */
      
      
      /* Pregunta 157 */
      $medidasDisciplinarias = $em->getRepository('SieseEntityBundle:CatMedidasDiciplinarias')->findAll(); 
      $medDisc = false; 
      
      foreach($medidasDisciplinarias as $row):
                     $findRel = $em->getRepository('SieseEntityBundle:MedidasDicEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'medidaDisciplinaria' => $row));

       if($findRel):
          $medDisc = true;
          $arregloIdMedDisc['id'][] = $findRel->getMedidaDisciplinaria()->getId();
          
         /* Otro Pregunta 157 */
         if($row->getId() == 12):
           $form->get('otraMedDisc')->setData($findRel->getOtraMedida());
         endif;          
       endif;      

      endforeach; 
      
      if($medDisc == true):
      $espMed = $em->getRepository('SieseEntityBundle:CatMedidasDiciplinarias')->findBy(array('id' => $arregloIdMedDisc['id']));
       
      $form->get('medidasDisciplinarias')->setData($espMed);
      endif;       
      /* Pregunta 157 */
      
      /* Pregunta 189 */
      $orgFormacionEntidad = $em->getRepository('SieseEntityBundle:CatOrganismosCursosForm')->findAll(); 
      $orgForm = false; 
      
      foreach($orgFormacionEntidad as $row):
       $findRel = $em->getRepository('SieseEntityBundle:OrgCursosEntidadInspeccion')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                               'organismoFormacion' => $row));

       if($findRel):
          $orgForm = true;
          $arregloIdOrgForm['id'][] = $findRel->getOrganismoFormacion()->getId();
          
         /* Otro Pregunta 189 */
         if($row->getId() == 9):
           $form->get('otroOrgFormacion')->setData($findRel->getOtroOrganismo());
         endif;          
       endif;      
      endforeach;
      
      if($orgForm == true):
      $espMed = $em->getRepository('SieseEntityBundle:CatOrganismosCursosForm')->findBy(array('id' => $arregloIdOrgForm['id']));
       
      $form->get('orgFormacionEntidad')->setData($espMed);
      endif; 
      /* Pregunta 189 */
    }
    
       public function mostrarRelacionesFormularioPoblacionFemNoComunes($entidadInspeccion,$form,$tipoInspeccion = null) {
        $em = $this->entityManager;
        
        /* Pregunta 28 */
        $catPersonalProf = $em->getRepository('SieseEntityBundle:CatPersonal')->findAll(); 
        
        foreach($catPersonalProf as $row):
          $findRel = $em->getRepository('SieseEntityBundle:EqTecProfEntidadInsPob')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                     'personalProf' => $row));
          if($findRel):
            $form->get('personalProf_'.$findRel->getPersonalProf()->getId())->setData($findRel->getRespuestaPregunta());
            $form->get('noConverProf_'.$findRel->getPersonalProf()->getId())->setData($findRel->getRespuestaNoConver());
          endif;
        endforeach;     
        /* Pregunta 28 */ 
        
             /* Pregunta 29 */
          $catAsistenciaTecnica =$em->getRepository('SieseEntityBundle:CatAsistenciaTecnica')->findAll();
        
        foreach($catAsistenciaTecnica as $row):
          $findRel = $em->getRepository('SieseEntityBundle:AsisTecProfEntidadInsPob')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                       'asistenciaTecnica' => $row));
          if($findRel):
           $form->get('asisTecProf_'.$findRel->getAsistenciaTecnica()->getId())->setData($findRel->getRespuestaPregunta());
           
          endif;
        endforeach;     
         /* Pregunta 29 */        
      }
       
       public function mostrarRelacionesFormularioPoblacionMasNoComunes($entidadInspeccion,$form,$tipoInspeccion = null) {
        $em = $this->entityManager;
        
        /* Pregunta 28 */
        $request = $this->container->get('request');


        $catPersonalProf = $em->getRepository('SieseEntityBundle:CatPersonal')->findAll(); 
        
        foreach($catPersonalProf as $row):
          if($row->getId()!= 27):
          $findRel = $em->getRepository('SieseEntityBundle:EqTecProfEntidadInsPob')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                     'personalProf' => $row));
          if($findRel):
            $form->get('personalProf_'.$findRel->getPersonalProf()->getId())->setData($findRel->getRespuestaPregunta());
            $form->get('noConverProf_'.$findRel->getPersonalProf()->getId())->setData($findRel->getRespuestaNoConver());
          endif;
          endif;
        endforeach;     
         /* Pregunta 28 */     
        
             /* Pregunta 29 */
          $catAsistenciaTecnica =$em->getRepository('SieseEntityBundle:CatAsistenciaTecnica')->findAll();
        
        foreach($catAsistenciaTecnica as $row):
            if($row->getId()!= 8 ):
          $findRel = $em->getRepository('SieseEntityBundle:AsisTecProfEntidadInsPob')->findOneBy(array('entidadInspeccion' => $entidadInspeccion,
                                                                                                       'asistenciaTecnica' => $row));
          if($findRel):
           $form->get('asisTecProf_'.$findRel->getAsistenciaTecnica()->getId())->setData($findRel->getRespuestaPregunta());
           
          endif;
          endif;
        endforeach;     
         /* Pregunta 29 */        
       }       
       
       public function mostrarRelacionesFormularioPoblacion($entidadInspeccion,$form,$tipoInspeccion = null) {
        $em = $this->entityManager;

        
        

          
        
        /* Pregunta 37 Privado - 46 Semiprivado */
        $participacionDisenoAct = $em->getRepository('SieseEntityBundle:CatParticipacionAct')->findAll();
        $partDisAct = false;
        
        if($participacionDisenoAct):
          foreach ($participacionDisenoAct as $row):
        
          $findRel = $em->getRepository('SieseEntityBundle:PartDisenoActEntInsPob')->findOneBy(array('entidadInspeccionPob' => $entidadInspeccion,
                                                                                                     'partAct' => $row));
            if ($findRel):
                $partDisAct = true;
                $arregloParticipacionDiseno['id'][] = $findRel->getPartAct()->getId();
                
              if($row->getId() == 4):
                $form->get('otraPartAct')->setData($findRel->getOtraPartAct());    
              endif;                
            endif;
          endforeach;
        endif;
        
        if($partDisAct == true):
          $partDiseno = $em->getRepository('SieseEntityBundle:CatParticipacionAct')->findBy(array('id' => $arregloParticipacionDiseno['id']));
       
          ($form->get('participacionDisenoAct') ? $form->get('participacionDisenoAct')->setData($partDiseno) : null);
        endif;        
        /* Pregunta 37 */

        
        
      /* 
       * Pregunta 76
       * 
       */
      $mediosComunicacion = $em->getRepository('SieseEntityBundle:CatMediosComunicacion')->findAll();
      $medCo = false;       
      
      foreach($mediosComunicacion as $row):
          
        $findRel = $em->getRepository('SieseEntityBundle:MediosComunicacionEntidadInspeccionPob')->findOneBy(array('entidadInspeccionPob' => $entidadInspeccion,
                                                                                                                   'medioComunicacion' => $row));

        if ($findRel):
          $medCo = true;
          $arregloIdMedComu['id'][] = $findRel->getMedioComunicacion()->getId();
             
          if($row->getId() == 6):
            $form->get('otroMedioComunicacion')->setData($findRel->getOtroMedioComunicacion());    
          endif;
        endif;      
      endforeach;
      
        if($medCo == true):
          $medComunicacion = $em->getRepository('SieseEntityBundle:CatMediosComunicacion')->findBy(array('id' => $arregloIdMedComu['id']));
       
          ($form->get('mediosComunicacion') ? $form->get('mediosComunicacion')->setData($medComunicacion) : null);
        endif;        
        /* Pregunta 76 */
        
        
        /* Pregunta 82 */
        $funcionarios = $em->getRepository('SieseEntityBundle:CatFuncionarios')->findAll();
        $fun = false;

        foreach ($funcionarios as $row):
        
          $findRel = $em->getRepository('SieseEntityBundle:ComuFuncionarioEntidadInsPob')->findOneBy(array('entidadInspeccionPob' => $entidadInspeccion,
                                                                                                     'funcionario' => $row));
            if ($findRel):
                $fun = true;
                $arregloIdFuncionarios['id'][] = $findRel->getFuncionario()->getId();
             
              if($row->getId() == 5):
                $form->get('otroFuncionario')->setData($findRel->getOtroFuncionario());    
              endif;
            endif;
        endforeach;
        
        if($fun == true):
          $funcionarios = $em->getRepository('SieseEntityBundle:CatFuncionarios')->findBy(array('id' => $arregloIdFuncionarios['id']));
       
          ($form->get('funcionarioComuFrec') ? $form->get('funcionarioComuFrec')->setData($funcionarios) : null);
        endif;        
        /* Pregunta 82 */

        
        
        /* Pregunta 87 */
        $catServiciosBasicos = $em->getRepository('SieseEntityBundle:CatServiciosBasicos')->findAll();
        
        foreach($catServiciosBasicos as $row):
          $findRel = $em->getRepository('SieseEntityBundle:CalidadServBasEntInsPob')->findOneBy(array('entidadInspeccionPob' => $entidadInspeccion,
                                                                                                       'calidadServicio' => $row));
          if($findRel):
           $form->get('servBas_'.$findRel->getCalidadServicio()->getId())->setData($findRel->getCalidad());
           
          endif;
        endforeach;     
         /* Pregunta 87 */
           /* Pregunta 88 */
        $catInfraestructura = $em->getRepository('SieseEntityBundle:CatInfraestructura')->findAll();
        
        foreach($catServiciosBasicos as $row):
          $findRel = $em->getRepository('SieseEntityBundle:InfraestructuraEntidadInsPob')->findOneBy(array('entidadInspeccionPob' => $entidadInspeccion,
                                                                                                       'infraestructura' => $row));
          if($findRel):
           $form->get('infraestructura_'.$findRel->getInfraestructura()->getId())->setData($findRel->getCalidad());
           
          endif;
        endforeach;     
         /* Pregunta 88 */
      
          /* Pregunta 89 */
        $catInfraestructuraHab = $em->getRepository('SieseEntityBundle:CatInfraestructura')->findAll();
        
        foreach($catServiciosBasicos as $row):
          $findRel = $em->getRepository('SieseEntityBundle:CondicionHabEntidadInsPob')->findOneBy(array('entidadInspeccionPob' => $entidadInspeccion,
                                                                                                       'condicionHabitacion' => $row));
          if($findRel):
           $form->get('conHab_'.$findRel->getCondicionHabitacion()->getId())->setData($findRel->getCalidad());
           
          endif;
        endforeach;     
         /* Pregunta 89 */
       }    
       
       
    public function buscarEstadoUsuario($usuario) {
      foreach($usuario->getSedesUsuario() as $estadoUsuario):
          $estado = $estadoUsuario->getSede();
      endforeach;
      
      return $estado->getEstado();
    }       
}
